package com.kuang.springcloud.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class ConfigBean {
    /*
    配一个负载均衡实现RestTemplate只需要加一个注解LoadBlanced就可以了,
    * 如果不需要负载均衡,就不加!
    负载均衡有轮询...方式,不同的方式需要不同注解启动:
    RoundRobinRule轮询
    RandomRule随机
    RetryRule先按照轮询获取服务,如果服务获取失败,会在指定的时间内重试
    */
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
    @Bean
    public IRule myRule(){
        return new RandomRule();
    }
}
